Remove CONFIG_MAX_TILE This tool is fully adopted. Change-Id: I9b2ebd694f3b021e2b85af4ef1b072c9fd05a178
diff --git a/aomenc.c b/aomenc.c index e15b2d1..8b9d987 100644 --- a/aomenc.c +++ b/aomenc.c
@@ -428,12 +428,10 @@ static const arg_def_t tile_rows = ARG_DEF(NULL, "tile-rows", 1, "Number of tile rows to use, log2 (set to 0 while threads > 1)"); -#if CONFIG_MAX_TILE static const arg_def_t tile_width = ARG_DEF(NULL, "tile-width", 1, "Tile widths (comma separated)"); static const arg_def_t tile_height = ARG_DEF(NULL, "tile-height", 1, "Tile heights (command separated)"); -#endif static const arg_def_t lossless = ARG_DEF(NULL, "lossless", 1, "Lossless mode (0: false (default), 1: true)"); static const arg_def_t enable_cdef = @@ -1255,14 +1253,12 @@ config->cfg.sframe_dist = arg_parse_uint(&arg); } else if (arg_match(&arg, &sframe_mode, argi)) { config->cfg.sframe_mode = arg_parse_uint(&arg); -#if CONFIG_MAX_TILE } else if (arg_match(&arg, &tile_width, argi)) { config->cfg.tile_width_count = arg_parse_list(&arg, config->cfg.tile_widths, MAX_TILE_WIDTHS); } else if (arg_match(&arg, &tile_height, argi)) { config->cfg.tile_height_count = arg_parse_list(&arg, config->cfg.tile_heights, MAX_TILE_HEIGHTS); -#endif #if CONFIG_FILEOPTIONS } else if (arg_match(&arg, &ext_partition, argi)) { config->cfg.cfg.ext_partition = !!arg_parse_uint(&arg) > 0;
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c index 4cf359e..29f60bd 100644 --- a/av1/av1_cx_iface.c +++ b/av1/av1_cx_iface.c
@@ -314,13 +314,8 @@ if (extra_cfg->tile_rows != 0) RANGE_CHECK(extra_cfg, tile_rows, 1, 64); } } else { -#if CONFIG_MAX_TILE RANGE_CHECK_HI(extra_cfg, tile_columns, 6); RANGE_CHECK_HI(extra_cfg, tile_rows, 6); -#else // CONFIG_MAX_TILE - RANGE_CHECK_HI(extra_cfg, tile_columns, 6); - RANGE_CHECK_HI(extra_cfg, tile_rows, 2); -#endif // CONFIG_MAX_TILE } RANGE_CHECK_HI(cfg, monochrome, 1); @@ -646,7 +641,6 @@ oxcf->enable_jnt_comp = extra_cfg->use_jnt_comp & extra_cfg->enable_order_hint; -#if CONFIG_MAX_TILE oxcf->tile_width_count = AOMMIN(cfg->tile_width_count, MAX_TILE_COLS); oxcf->tile_height_count = AOMMIN(cfg->tile_height_count, MAX_TILE_ROWS); for (int i = 0; i < oxcf->tile_width_count; i++) { @@ -655,7 +649,6 @@ for (int i = 0; i < oxcf->tile_height_count; i++) { oxcf->tile_heights[i] = AOMMAX(cfg->tile_heights[i], 1); } -#endif oxcf->error_resilient_mode = cfg->g_error_resilient; oxcf->frame_parallel_decoding_mode = extra_cfg->frame_parallel_decoding_mode;
diff --git a/av1/common/alloccommon.c b/av1/common/alloccommon.c index f692366..9106070 100644 --- a/av1/common/alloccommon.c +++ b/av1/common/alloccommon.c
@@ -84,15 +84,9 @@ // row <m>?" To make that efficient, we generate the rst_last_stripe array. int num_stripes = 0; for (int i = 0; i < cm->tile_rows; ++i) { -#if CONFIG_MAX_TILE TileInfo tile_info; av1_tile_set_row(&tile_info, cm, i); const int mi_h = tile_info.mi_row_end - tile_info.mi_row_start; -#else - const int mi_h = ((i + 1) < cm->tile_rows) - ? cm->tile_height - : (cm->mi_rows - i * cm->tile_height); -#endif const int ext_h = RESTORATION_UNIT_OFFSET + (mi_h << MI_SIZE_LOG2); const int tile_stripes = (ext_h + 63) / 64; num_stripes += tile_stripes;
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h index 6ccfedb..fe87b1d 100644 --- a/av1/common/onyxc_int.h +++ b/av1/common/onyxc_int.h
@@ -451,7 +451,6 @@ BOUNDARY_TYPE *boundary_info; int boundary_info_alloc_size; -#if CONFIG_MAX_TILE int max_tile_width_sb; int min_log2_tile_cols; int max_log2_tile_cols; @@ -465,10 +464,6 @@ int tile_col_start_sb[MAX_TILE_COLS + 1]; // valid for 0 <= i <= tile_cols int tile_row_start_sb[MAX_TILE_ROWS + 1]; // valid for 0 <= i <= tile_rows int tile_width, tile_height; // In MI units -#else - int log2_tile_cols, log2_tile_rows; // Used in non-large_scale_tile_coding. - int tile_width, tile_height; // In MI units -#endif // CONFIG_MAX_TILE unsigned int large_scale_tile; unsigned int single_tile_decoding;
diff --git a/av1/common/restoration.c b/av1/common/restoration.c index 46211a7..97fe80c 100644 --- a/av1/common/restoration.c +++ b/av1/common/restoration.c
@@ -53,7 +53,6 @@ void av1_alloc_restoration_struct(AV1_COMMON *cm, RestorationInfo *rsi, int is_uv) { -#if CONFIG_MAX_TILE // We need to allocate enough space for restoration units to cover the // largest tile. Without CONFIG_MAX_TILE, this is always the tile at the // top-left and we can use av1_get_tile_rect(). With CONFIG_MAX_TILE, we have @@ -80,10 +79,6 @@ } TileInfo tile_info; av1_tile_init(&tile_info, cm, tile_row, tile_col); -#else - TileInfo tile_info; - av1_tile_init(&tile_info, cm, 0, 0); -#endif // CONFIG_MAX_TILE const AV1PixelRect tile_rect = av1_get_tile_rect(&tile_info, cm, is_uv); const int max_tile_w = tile_rect.right - tile_rect.left; @@ -1273,7 +1268,6 @@ } } -#if CONFIG_MAX_TILE // Get the horizontal or vertical index of the tile containing mi_x. For a // horizontal index, mi_x should be the left-most column for some block in mi // units and tile_x_start_sb should be cm->tile_col_start_sb. The return value @@ -1294,7 +1288,6 @@ assert(0); return 0; } -#endif int av1_loop_restoration_corners_in_sb(const struct AV1Common *cm, int plane, int mi_row, int mi_col, BLOCK_SIZE bsize, @@ -1309,16 +1302,11 @@ const int is_uv = plane > 0; -// Which tile contains the superblock? Find that tile's top-left in mi-units, -// together with the tile's size in pixels. -#if CONFIG_MAX_TILE + // Which tile contains the superblock? Find that tile's top-left in mi-units, + // together with the tile's size in pixels. const int mib_log2 = cm->seq_params.mib_size_log2; const int tile_row = get_tile_idx(cm->tile_row_start_sb, mi_row, mib_log2); const int tile_col = get_tile_idx(cm->tile_col_start_sb, mi_col, mib_log2); -#else - const int tile_row = mi_row / cm->tile_height; - const int tile_col = mi_col / cm->tile_width; -#endif // CONFIG_MAX_TILE TileInfo tile_info; av1_tile_init(&tile_info, cm, tile_row, tile_col);
diff --git a/av1/common/tile_common.c b/av1/common/tile_common.c index 95b739e..179c4f3 100644 --- a/av1/common/tile_common.c +++ b/av1/common/tile_common.c
@@ -19,8 +19,6 @@ av1_tile_set_col(tile, cm, col); } -#if CONFIG_MAX_TILE - // Find smallest k>=0 such that (blk_size << k) >= target static int tile_log2(int blk_size, int target) { int k; @@ -123,43 +121,6 @@ assert(tile->mi_col_end > tile->mi_col_start); } -#else - -void av1_tile_set_row(TileInfo *tile, const AV1_COMMON *cm, int row) { - tile->mi_row_start = row * cm->tile_height; - tile->mi_row_end = AOMMIN(tile->mi_row_start + cm->tile_height, cm->mi_rows); -} - -void av1_tile_set_col(TileInfo *tile, const AV1_COMMON *cm, int col) { - tile->mi_col_start = col * cm->tile_width; - tile->mi_col_end = AOMMIN(tile->mi_col_start + cm->tile_width, cm->mi_cols); -} - -#define MIN_TILE_WIDTH_MAX_SB 2 -#define MAX_TILE_WIDTH_MAX_SB 32 - -static int get_min_log2_tile_cols(int max_sb_cols) { - int min_log2 = 0; - while ((MAX_TILE_WIDTH_MAX_SB << min_log2) < max_sb_cols) ++min_log2; - return min_log2; -} - -static int get_max_log2_tile_cols(int max_sb_cols) { - int max_log2 = 1; - while ((max_sb_cols >> max_log2) >= MIN_TILE_WIDTH_MAX_SB) ++max_log2; - return max_log2 - 1; -} - -void av1_get_tile_n_bits(int mi_cols, int *min_log2_tile_cols, - int *max_log2_tile_cols) { - const int max_sb_cols = - ALIGN_POWER_OF_TWO(mi_cols, MAX_MIB_SIZE_LOG2) >> MAX_MIB_SIZE_LOG2; - *min_log2_tile_cols = get_min_log2_tile_cols(max_sb_cols); - *max_log2_tile_cols = get_max_log2_tile_cols(max_sb_cols); - assert(*min_log2_tile_cols <= *max_log2_tile_cols); -} -#endif // CONFIG_MAX_TILE - void av1_setup_frame_boundary_info(const AV1_COMMON *const cm) { BOUNDARY_TYPE *bi = cm->boundary_info; int col;
diff --git a/av1/common/tile_common.h b/av1/common/tile_common.h index 5ffdafe..783f13c 100644 --- a/av1/common/tile_common.h +++ b/av1/common/tile_common.h
@@ -52,8 +52,6 @@ AV1PixelRect av1_get_tile_rect(const TileInfo *tile_info, const struct AV1Common *cm, int is_uv); -#if CONFIG_MAX_TILE - // Define tile maximum width and area // There is no maximum height since height is limited by area and width limits // The minimum tile width or height is fixed at one superblock @@ -63,7 +61,6 @@ void av1_get_tile_limits(struct AV1Common *const cm); void av1_calculate_tile_cols(struct AV1Common *const cm); void av1_calculate_tile_rows(struct AV1Common *const cm); -#endif #ifdef __cplusplus } // extern "C"
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index adcfc40..e77847b 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -1459,8 +1459,6 @@ pool->frame_bufs[cm->new_fb_idx].buf.render_height = cm->render_height; } -#if CONFIG_MAX_TILE - // Same function as av1_read_uniform but reading from uncompresses header wb static int rb_read_uniform(struct aom_read_bit_buffer *const rb, int n) { const int l = get_unsigned_bits(n); @@ -1531,7 +1529,6 @@ } av1_calculate_tile_rows(cm); } -#endif static void read_tile_info(AV1Decoder *const pbi, struct aom_read_bit_buffer *const rb) { @@ -1578,7 +1575,6 @@ pbi->tile_col_size_bytes = aom_rb_read_literal(rb, 2) + 1; pbi->tile_size_bytes = aom_rb_read_literal(rb, 2) + 1; } -#if CONFIG_MAX_TILE for (int i = 0; i <= cm->tile_cols; i++) { cm->tile_col_start_sb[i] = ((i * cm->tile_width - 1) >> cm->seq_params.mib_size_log2) + 1; @@ -1587,35 +1583,10 @@ cm->tile_row_start_sb[i] = ((i * cm->tile_height - 1) >> cm->seq_params.mib_size_log2) + 1; } -#endif // CONFIG_MAX_TILE return; } -#if CONFIG_MAX_TILE read_tile_info_max_tile(cm, rb); -#else - int min_log2_tile_cols, max_log2_tile_cols, max_ones; - av1_get_tile_n_bits(cm->mi_cols, &min_log2_tile_cols, &max_log2_tile_cols); - - // columns - max_ones = max_log2_tile_cols - min_log2_tile_cols; - cm->log2_tile_cols = min_log2_tile_cols; - while (max_ones-- && aom_rb_read_bit(rb)) cm->log2_tile_cols++; - - if (cm->log2_tile_cols > 6) - aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME, - "Invalid number of tile columns"); - - // rows - cm->log2_tile_rows = aom_rb_read_bit(rb); - if (cm->log2_tile_rows) cm->log2_tile_rows += aom_rb_read_bit(rb); - - cm->tile_width = - get_tile_size(cm->mi_cols, cm->log2_tile_cols, &cm->tile_cols); - cm->tile_height = - get_tile_size(cm->mi_rows, cm->log2_tile_rows, &cm->tile_rows); - -#endif // CONFIG_MAX_TILE if (cm->tile_rows * cm->tile_cols > 1) { // tile size magnitude
diff --git a/av1/decoder/inspection.c b/av1/decoder/inspection.c index 156d8b2..5ac5b43 100644 --- a/av1/decoder/inspection.c +++ b/av1/decoder/inspection.c
@@ -43,17 +43,12 @@ fd->show_frame = cm->show_frame; fd->frame_type = cm->frame_type; fd->base_qindex = cm->base_qindex; -#if CONFIG_MAX_TILE // Set width and height of the first tile until generic support can be added TileInfo tile_info; av1_tile_set_row(&tile_info, cm, 0); av1_tile_set_col(&tile_info, cm, 0); fd->tile_mi_cols = tile_info.mi_col_end - tile_info.mi_col_start; fd->tile_mi_rows = tile_info.mi_row_end - tile_info.mi_row_start; -#else - fd->tile_mi_cols = cm->tile_width; - fd->tile_mi_rows = cm->tile_height; -#endif fd->delta_q_present_flag = cm->delta_q_present_flag; fd->delta_q_res = cm->delta_q_res; #if CONFIG_ACCOUNTING
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index ff1dcb0..802074a 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -2198,8 +2198,6 @@ } } -#if CONFIG_MAX_TILE - // Same function as write_uniform but writing to uncompresses header wb static void wb_write_uniform(struct aom_write_bit_buffer *wb, int n, int v) { const int l = get_unsigned_bits(n); @@ -2263,7 +2261,6 @@ assert(height_sb == 0); } } -#endif static void write_tile_info(const AV1_COMMON *const cm, struct aom_write_bit_buffer *saved_wb, @@ -2292,22 +2289,7 @@ aom_wb_write_literal(wb, tile_height - 1, 6); } } else { -#if CONFIG_MAX_TILE write_tile_info_max_tile(cm, wb); -#else - int min_log2_tile_cols, max_log2_tile_cols, ones; - av1_get_tile_n_bits(cm->mi_cols, &min_log2_tile_cols, &max_log2_tile_cols); - - // columns - ones = cm->log2_tile_cols - min_log2_tile_cols; - while (ones--) aom_wb_write_bit(wb, 1); - - if (cm->log2_tile_cols < max_log2_tile_cols) aom_wb_write_bit(wb, 0); - - // rows - aom_wb_write_bit(wb, cm->log2_tile_rows != 0); - if (cm->log2_tile_rows != 0) aom_wb_write_bit(wb, cm->log2_tile_rows != 1); -#endif } *saved_wb = *wb;
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index f639a01..6edd1cf 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -277,15 +277,6 @@ assert(cpi->oxcf.superblock_size == AOM_SUPERBLOCK_SIZE_DYNAMIC); -#if !CONFIG_MAX_TILE - // for the max_tile experiment there is no common tile_width, tile_height - // max_tile assumes tile dimensions are in superblocks (not 64x64 units) - assert(IMPLIES(cpi->common.tile_cols > 1, - cpi->common.tile_width % MAX_MIB_SIZE == 0)); - assert(IMPLIES(cpi->common.tile_rows > 1, - cpi->common.tile_height % MAX_MIB_SIZE == 0)); -#endif - // TODO(any): Possibly could improve this with a heuristic. #if CONFIG_FILEOPTIONS if (cpi->common.options && !cpi->common.options->ext_partition) @@ -810,8 +801,6 @@ av1_rc_update_framerate(cpi, cpi->common.width, cpi->common.height); } -#if CONFIG_MAX_TILE - static void set_tile_info_max_tile(AV1_COMP *cpi) { AV1_COMMON *const cm = &cpi->common; int i, start_sb; @@ -859,8 +848,6 @@ av1_calculate_tile_rows(cm); } -#endif - static void set_tile_info(AV1_COMP *cpi) { AV1_COMMON *const cm = &cpi->common; (void)cm; @@ -889,7 +876,6 @@ cm->tile_rows = 1; while (cm->tile_rows * cm->tile_height < cm->mi_rows) ++cm->tile_rows; -#if CONFIG_MAX_TILE int i; for (i = 0; i <= cm->tile_cols; i++) { cm->tile_col_start_sb[i] = @@ -899,24 +885,9 @@ cm->tile_row_start_sb[i] = ((i * cm->tile_height - 1) >> cm->seq_params.mib_size_log2) + 1; } -#endif // CONFIG_MAX_TILE } else { -#if CONFIG_MAX_TILE set_tile_info_max_tile(cpi); (void)cm; -#else - int min_log2_tile_cols, max_log2_tile_cols; - av1_get_tile_n_bits(cm->mi_cols, &min_log2_tile_cols, &max_log2_tile_cols); - - cm->log2_tile_cols = - clamp(cpi->oxcf.tile_columns, min_log2_tile_cols, max_log2_tile_cols); - cm->log2_tile_rows = cpi->oxcf.tile_rows; - - cm->tile_width = - get_tile_size(cm->mi_cols, cm->log2_tile_cols, &cm->tile_cols); - cm->tile_height = - get_tile_size(cm->mi_rows, cm->log2_tile_rows, &cm->tile_rows); -#endif // CONFIG_MAX_TILE } }
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h index 7f4887d..019ad73 100644 --- a/av1/encoder/encoder.h +++ b/av1/encoder/encoder.h
@@ -255,12 +255,10 @@ int tile_columns; int tile_rows; -#if CONFIG_MAX_TILE int tile_width_count; int tile_height_count; int tile_widths[MAX_TILE_COLS]; int tile_heights[MAX_TILE_ROWS]; -#endif int max_threads;
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake index 361e742..98f1efb 100644 --- a/build/cmake/aom_config_defaults.cmake +++ b/build/cmake/aom_config_defaults.cmake
@@ -103,7 +103,6 @@ set(CONFIG_HASH_ME 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_LOWPRECISION_BLEND 1 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_MAX_TILE 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_MONO_VIDEO 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_OBU_FRAME 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_OBU_NO_IVF 0 CACHE NUMBER "AV1 experiment flag.")